package org.micode.common.weixin;

import lombok.Data;

/**
 * 微信用户验证信息，用于微信登录和微信支付
 */
@Data
public class WeixinAuthInfo {

    /**
     * 微信小程序appId
     */
    private String appId;

    /**
     * 微信号，从微信API获取。
     */
    private String code;

    /**
     * 加密算法的初始向量，从微信API获取。
     */
    private String iv;

    /**
     * 包括敏感数据在内的完整用户信息的加密数据，从微信API获取。
     * 加密算法: https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法
     */
    private String encryptedData;

    /**
     * wx请求中的referer信息，可以用来进行appId的校验
     */
    private String referer;

    @Override
    public String toString() {
        return "appId='" + appId + '\'' +
                ", code='" + code + '\'' +
                ", iv='" + iv + '\'' +
                ", encryptedData='" + encryptedData + '\'' +
                ", referer='" + referer + '\'';
    }

}
